本ページではICT開発の文脈における「組み込み」という概念をもちいて、GRヤリス、否もっと広く現代の自動車という製品を考察したい。
本ページはちょっと読みにくい文章であるが、電子制御の書き換えチューニングに興味のある方には、我慢してゴリゴリと読む価値のある内容…だと思う。
ドライビング中に電子制御に違和感や不快感を抱いていて、「なんでこんな制御かけるの!」と怒りや不満を抱いている人には、もしかしたら本ページがひとつの解答になるかも知れない。(当サイト内関連ページはココやココ)
なので、まあ、取り敢えず読んでみて。
とはいえ、以下本ページに記載する内容は理屈コネ太郎の管見内における独断と偏見による私見、つまり知ったかぶりである旨を御銘記の上読み進めて頂ければ幸いである。
さてまず、「組み込み」という言葉の意味をザックリと説明したい。
理屈コネ太郎の下手な文章で説明するよりも、ChatGPT先生の回答をマルっとコピペして以下に示す。
『ICT開発における「組み込み」とは、主にソフトウェアやコンピュータープログラムを特定のハードウェアやシステムに組み込むことを指します。
これは、組み込みシステムと呼ばれる特定の用途に特化したコンピューターシステムを構築する際に行われます。
組み込みシステムは、家電製品、自動車、医療機器、産業機械など、様々な領域で使用されています。
組み込みシステムは、通常、高い信頼性やリアルタイム性が求められるため、ソフトウェアの品質や効率性が重要です。そのため、組み込み開発では、ハードウェアとソフトウェアの密接な統合や最適化が必要とされます』
要するに、私たちクルマ好きが電子制御と呼ぶモノは、自動車という物理的動作を行うハードウエアに組み込まれた組み込みソフトウエアと考えて宜しいだろう。
ここで理解して欲しいのは、一般的に組み込みソフトウエアと呼ばれるモノの開発は、いわゆる自動車好きが知っている、あるいは想像したりしている開発とは全く別の世界、別の場所、別の人達、別のプロセス、別の価値観で行われているということ。
自動車の組み込みソフトウェアの開発も然り。
組込みソフトウェアの開発は、元請け下請けの重層構造で行われ、しかも一番の下流開発では基本的に手作業によるコード入力が行われる。
ただし、手作業によるコード入力といっても、必ずしも一文字一句を本当に手作業で入力するとは限らない。
ライブラリーと呼ばれる著作権フリーの膨大なコード群から条件にあうプログラムをごっそりと移植できたりもする。
で、ここからがハナシが複雑になるのだが、システム開発は開発言語によって記載されるため、コード記載に直接かかわった人物以外にはコード群の内容がよくわからないという現象が起きる。
さらに、既述したようにシステム開発は元請け下請けという階層構造に加えて各階層内で部分部分に細分化されて開発される。
つまり、システム開発は極めて労働集約的かつ属人性が高いのだ。
別々に開発されたコードは最終的にを全結合されてひとつのシステムとしてハードウェアであるクルマに実装される。
結合されてひとつのシステムになる前には、何段階にも分けてテストを実施して問題を逐次潰して万全を期すが、それでも問題は後日発生する事がある。
しかも、商品として世に出たあとに。
問題発生のその理由については後述する。(★)
さて、こうして開発された組み込みシステムに瑕疵があり、その瑕疵によってクルマにトラブルが発生したとしよう。その原因を発見し修正や修理をする事は可能だろうか?
可能ではあるが、おそらくコストや手間に見合わないと理屈コネ太郎は推察する。
まず、組み込まれたシステムを構成する膨大な行数のコード (プリウス一台に1億行のコードが記載されているとの噂を聞いた事がある) のどこに問題があるのか…を特定する事が高い障害である。
仮に特定できたとして、そのコードの問題点を修正できる人材(既述した高い属人性のため、殆どの場合はそのコードを書いた張本人)は、すでに他のプロジェクトに忙殺されているかもしれないし、場合によっては既に退職しているかもしれない。
なんなら、誰がそのコードを実際に書いたのかさえ分からない場合だってある。
先の問題(★の行)に答えよう。
何段階ものテストを経て結合されクルマに実装された組み込みシステムが、市場にリリースされた後にトラブルを発生させる原因は、それは大抵の場合、想定外の使われ方が原因である。
組み込みソフトウェアの設計の段階では、諸制約を勘案しながらも多様な条件での多様な使用方法を想定される。この想定に基づいて最終的にコードが記述されるが、リリース後に想定範囲外の使われ方がなされた場合、組み込みシステムは修復不能的なfailureに陥る事になる。
理由は主に二つかな。
第一に初期に想定の範囲を設定する人達が自動車メーカーの人とは限らないし、クルマ好きとも限らないという理由。
第二に、リリース後に権利者の許可なくエンドユーザーによって行われる組込みソフトの書き換え、クルマの例で例えればECU書き換えは(実際の作業は業者が行うが)、システム開発サイドの観点に立てば外部からのシステムへの侵入でありハッキングであるから(もしかしたら違法かも。道交法違反じゃなくて著作権法違反?違反者は誰?業者?オーナー?)、開発サイドはプロテクトこそすれ、ソフトウェアの作動をハッカーの手に委ねるようなガードの緩いシステムは作りたくないという理由。
つまり、クルマに実装される組込みソフトウェアは、ハッカー達に作動を乗っ取られないように、クルマ好きじゃないかも知れない人たちによって作られているってわけ。
想定外使用が原因で組込みシステムにfailureが発生した場合、センサーや基板やアクチュエーター内で異常な信号や電流が発生し、物理レベルで回路を損傷するかもしれない。
更にもしかすると、回路損傷だけではなく、エンジンやトランスミッションなどのメカニズムにまで何等かの損傷を生じさせている事だってありえる。
となると、ソフトウエアレベルの瑕疵だけの場合のようにコードを書き直すだけでは済まず、関連する電子部品や機械部品を全てを新しいモノに交換し、組み込みソフトを再インストールしなくてはならない。
気が重い。
ハナシをもとに戻そう。
クルマでもカメラでも電子レンジでもいい。とにかく組み込みシステムによる制御で性能を発揮する製品に対して、想定外の使い方をすると、組み込みシステムの処理能力や製品の物理的耐性を超える現象が発生して製品は正常作動しない。
正常作動しない原因を検索するには、組み込みシステムの膨大な行数のコードのどこに瑕疵があるかを見つけるのが重要だが、これが極めて困難であるかは既述した通り。
ダイアグノーシス(診断機)に接続すればいいんじゃね?って仰る方もおられようが、普通のダイアグノーシスは想定内の異常しか検知できない装置なので、想定外の使用法による想定外の異常は、異常とはわかるけれど何処がどう異常なのかまでは診断してくれないことが多い。
場合によっては、異常の存在すら診断できないダイアグノーシスもあるかも。
何故なら、ダイアグノーシスも組み込みソフトウェアによって性能を発揮する器械なので、製品に搭載された電子制御開発と同じ問題をダイアグノーシスの組み込みソフトウェア開発も孕んでいるから。。
さてかくして、電子レンジに想定外使用をして想定外異常が発生すれば、消費者は買いかえればよいし、保証期間内かつメーカーが想定外使用に気づかなければ新しい電子レンジに交換してくれるかもしれない。
最近はカメラも防塵防滴が当たり前だが、土砂降りの雨の中で何の配慮もせずに撮影したらオートフォーカスが機能せずにまともな写真は撮影できないし、土砂降り雨はそもそもカメラの物理耐性を超えるだろうから、レンズ鏡筒内やカメラ筐体に進入した水でセンサーが濡れてカメラの調子が悪くなる。
調子が悪いからいって無理やりレンズ交換や設定変更を実施すれば、その度に発生した異常な信号や電流が物理レベルで回路に損傷を与えるかもしれない。
土砂降りの雨のなかで使用したらカメラが故障しました…といって、メーカーが保証で修理したり新品に交換してくれるだろうか?
さて、クルマである。
クルマという製品をどう捉えるかは各人の好みだが、私たちクルマ好きが親しんできた既存のチューニングやカスタムの手法が、実はシステム開発者達の想定外だった!…というリスクは考慮しておいて損はないと思う。
既述した通り、クルマの組み込みシステムは、外部からの侵入者に作動を乗っ取られない事を意図して、もしかしたらクルマ好きではない人たちによって階層的、細分的、属人的に開発されている。
その開発は、もしかしたら自動車メーカーではない会社で(外注先の下請けの更に外注先の下請けだったり…)、クルマ好きでない開発者達によって想定範囲を設定され、開発側の権利に忠実な人物たちによってコードが入力されているかもしれない。
そんなわけだから、組み込みシステムの解析とか再構築とか、センサーと制御とアクチュエーターの換装とか、そういう事にまったく能力がない理屈コネ太郎は、吸排気系を含めたエンジン出力に関わる部分は、基本的には吊るしで行こうと思っている。
ECUの書き換えは、作動保証と関連部品全てについての修理保障でもついていなければ、もお全然ヤル気になれない。
ただし、以上はあくまで理屈コネ太郎個人の考え方であり、世の中には多少のリスクを覚悟の上で書き換えやパーツ交換をするクルマ好きが少なからず存在している事が承知しているし、共感も抱いている。
今回は以上ん。
当サイト内の他のコンテンツへは下記リンクよりどうぞ。
『当サイト内コンテンツトピック一覧』へはココをクリック
『GRヤリスに関連する諸ページ』へはココをクリック
『OMシステム(旧オリンパス) OM-1に関する諸ページ』はココをクリック
『日産ノートePower4WDに関する諸ページ』はココをクリック
『人生のヒント一覧 Life Hackで人生はスイスイスイ』はココをクリック
『モーターボートとヨットに関する諸ページ』はココをクリック